<?php
/*
本文件功能为对每一用户的刷新行为进行检测，短时内多次刷新会被判定为CC攻击
$seconds、$refresh、$waitTime在配置文件改。

*/
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
header("Content-Type: text/html; charset=UTF-8");
 
$seconds = $GLOBALS['config']['seconds'];// 刷新时间间隔 [秒]
$refresh = $GLOBALS['config']['refresh'];//刷新次数
$waitTime= $GLOBALS['config']['waitTime']; //超频后多久可以访问
 
//设置监控变量
 
$cur_time = time();
session_start();
if(isset($_SESSION['last_time'])){
	$_SESSION['refresh_times']+=1;
}
else
{
 	//第一次运行
	$_SESSION['refresh_times']=1;
	$_SESSION['last_time']= $cur_time;
 
}
 
 
 
//处理监控结果
if(	isset($_SESSION['suoding']) && $cur_time - $_SESSION['suoding'] < $waitTime  
	||  
	$cur_time - $_SESSION['last_time'] < $seconds){
 
	if($_SESSION['refresh_times'] >= $refresh){ //时间段内超频，下次访问退出。
		$_SESSION['suoding'] = $cur_time;
		exit('<h1>检测到CC攻击，你丫的能不能别打我网站了！</h1>');
	}
 
}else{
 	//没超频，归零， if里的超频了就没归零一直累积。
	$_SESSION['refresh_times']=0;
	$_SESSION['last_time']= $cur_time;
 
}
 
//echo "超频刷新了:".$_SESSION['refresh_times']."次,可以访问!";

		
		
		